DRUMS: Domain-specific Requirements Modeling for Scientists
نویسنده
چکیده
Historically, scientists have developed software programs with limited resources and a strong focus on algorithms to generate scientific results and verify their approaches. With the rapid growth of hardware power, computer networks, and progress in software engineering, this brings a new challenge in scientific software development: how can scientists move from the development on the “algorithmic level” to the development of theories and methods that need the support of large-scale complex software systems. Many computational science and engineering (CSE) projects have been developing scientific software without a requirements specification. This is no longer possible in the development of large complex systems. Software engineers use requirements specifications to describe the complex systems being built, and bridge the gap of application domain (e.g. a scientific problem) and solution domain (e.g. a software implementation). The lack of requirements specifications hinder communication and collaboration between scientists and software engineers. To enhance the quality of scientific software and to adopt good software engineering practices, we claim that requirements specifications have to be used in CSE projects. However, formal requirements engineering methods are generally too heavyweight to be adopted in CSE projects, because scientists prefer to focus on producing scientific findings, not on spending time to learn the syntax for a requirements modeling language. On the other hand, it is even more difficult to ask a software engineer to develop requirements for scientific software, without obtaining deep domain knowledge. This dissertation describes DRUMS (Domain-specific ReqUirements Modeling for Scientists), which is a lightweight domain-specific requirements engineering framework. DRUMS provides abstractions that describe requirements in the scientific domain and tool support. Scientists can use these abstractions to effectively create and manage requirements without prior requirements engineering knowledge. In addition, DRUMS uses an automated approach that extracts requirements for scientific software systems to reduce the manual effort of requirements recovery and reuse. To demonstrate the applicability of DRUMS, experiments were conducted in three different scientific domains: seismology, building performance and computational fluid dynamics. The evaluation results show that DRUMS can effectively be used in early requirements engineering in these domains. Using DRUMS had a significant impact on the number of ideas generated in an early requirements engineering task, in comparison with a baseline practice. In addition, our requirements extraction approach outperforms naive Bayes classification on the same dataset.
منابع مشابه
Capability-oriented architectural analysis method based on fuzzy description logic
A number of problems may arise from architectural requirements modeling, including alignment of it with business strategy, model integration and handling the uncertain and vague information. The paper introduces a method for modeling architectural requirements in a way of ontology-based and capabilityoriented requirements elicitation. The requirements can be modeled within a three-layer framewo...
متن کاملModeling Clinical Pathways - Design and Application of a Domain-Specific Modeling Language
Networking and collaboration in clinical care are increasingly entailing new requirements on supporting medical processes. The information technology (IT) in public health accordingly earns strategic relevance and encounters new potentials as well as challenging demands. The application of conceptual models in health care domain is almost entirely restricted to documentation tasks. Approaches l...
متن کاملA Scala Embedded DSL for Combinatorial Optimization in Software Requirements Engineering
The goal of the presented work is to provide support for software requirements engineering domain experts in modeling combinatorial optimization problems that arise in requirements prioritization and release planning. A Domain-Specific Language (DSL), called reqT/CSP, is presented that integrates constraints modeling with requirements modeling. The DSL is embedded in the object-functional Scala...
متن کاملExtending a Business Process Modeling Language for Domain-Specific Adaptation in Healthcare
It is often required to provide a modeling language that enables the representation of domain-specific problems and concepts. Domain-specific modeling approaches can be applied for that. However, these approaches usually suffer from low dissemination, missing tool support and high design costs. Thus, it might be more reasonable to adapt and extend common standard modeling languages. This resear...
متن کاملDomain-driven Architecture for Object-oriented Software System
The Unified Modeling Language (UML) is one of the important modeling languages used to design the software problems. The main aim of this paper is to develop a complete process of software architecture for the object-oriented software system. This software architecture will ensure non-functional requirements as well as the functional requirements of the software system. The software architectur...
متن کامل